jihyeon's Blog

2023-11-13

트리 순회


https://www.acmicpc.net/problem/1991

전위, 중위, 후위 순회 다 사용

class Node: def __init__(self, data, left_node, right_node): self.data = data self.left_node = left_node self.right_node = right_node def pre_order(node): print(node.data, end='') if node.left_node != '.': pre_order(tree[node.left_node]) if node.right_node != '.': pre_order(tree[node.right_node]) def in_order(node): if node.left_node != '.': in_order(tree[node.left_node]) print(node.data, end='') if node.right_node != '.': in_order(tree[node.right_node]) def post_order(node): if node.left_node != '.': post_order(tree[node.left_node]) if node.right_node != '.': post_order(tree[node.right_node]) print(node.data, end='') n = int(input()) tree = {} for i in range(n): data, left_node, right_node = input().split() tree[data] = Node(data, left_node, right_node) pre_order(tree['A']) print() in_order(tree['A']) print() post_order(tree['A'])

Copyright (c) 2023. jihyeon Choi. | All Right Reserved.